<template>
	<view>
		<view class="product-window" :class="{'on':isShow}">
			<view class="mp-data">
				<image :src="mpData.site_logo" mode=""></image>
				<text class="mp-name">{{mpData.site_name || ''}} 申请</text>
			</view>
			<view class="trip-msg">
				<view class="title">
					获取您的昵称、头像
				</view>
				<view class="trip">
					提供具有辨识度的用户中心界面
				</view>
			</view>
			<form @submit="formSubmit">
				<view class="edit">
					<view class="avatar edit-box">
						<view class="left">
							<view class="head">头像</view>
							<button class="avatar-box" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
								<image :src="userinfo.avatar || defHead"></image>
							</button>
						</view>
					</view>
					<view class="nickname edit-box">
						<view class="left">
							<view class="head">昵称</view>
							<view class='input'>
								<input type='nickname' placeholder-class="pl-sty" placeholder="请输入昵称" name='nickName' :maxlength="16"
									:value='userinfo.nickName'></input>
							</view>
						</view>
					</view>
				</view>

				<view class="bottom">
					<button class="save" formType="submit" :class="{'open': userinfo.avatar}">
						保存
					</button>
				</view>
			</form>
		</view>
		<view class="mask" @touchmove.prevent v-if="isShow" @click="closeAttr"></view>
	</view>
	
</template>

<script>
	import { imageToBase64 } from '@/utils/common.js';
	export default {
		props: {
			isShow: {
				type: Boolean,
				value: false
			}
		},
		data() {
			return {
				defHead: require('@/static/image/def_avatar.png'),
				userinfo: {
					avatar: '',
					nickName: '',
				},
				mpData: {
					site_logo: 'https://img95.699pic.com/xsj/16/e1/yr.jpg%21/fh/300',
					site_name: '百货行情'
				},
			
			};
		},
		methods: {
			// 微信头像获取
			onChooseAvatar(e) {
				console.log("头像",e);
				const {avatarUrl} = e.detail
				console.log('http头像信息：', avatarUrl);
				imageToBase64(avatarUrl, 'png').then(avatarBase64 => {
					this.userinfo.avatar = avatarBase64;
					console.log('base64头像信息：', this.userinfo.avatar);
				})
			},
			closeAttr: function() {
				this.$emit('closeEdit');
			},
			/**
			 * 提交修改
			 */
			formSubmit(e) {
				let that = this
				if (!this.userinfo.avatar) return;
				if (!e.detail.value.nickName) return;
				this.userinfo.nickName = e.detail.value.nickName;
				let opts={
				    url:'/wx/updateUserInfo',
				    method: 'put'
				};
				
				this.$http(opts,this.userinfo).then(res=>{
					if(res.code==200){
						this.$emit('editSuccess',this.userinfo)
					}
					
				
				})
			}
		}
	}
</script>
<style>
	.pl-sty {
		color: #999999;
		font-size: 30rpx;
	}
</style>
<style scoped lang="scss">
	.product-window.on {
		transform: translate3d(0, 0, 0);
	}

	.mask {
		height: 100vh;
		background: #00000090;
		z-index: 100;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}
	.product-window {
		box-sizing: border-box;
		position: fixed;
		bottom: 0;
		width: 100%;
		left: 0;
		background-color: #fff;
		z-index: 1000;
		border-radius: 20rpx 20rpx 0 0;
		transform: translate3d(0, 100%, 0);
		transition: all .3s cubic-bezier(.25, .5, .5, .9);
		padding: 38rpx 40rpx;
		padding-bottom: 80rpx;
		padding-bottom: calc(80rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
		padding-bottom: calc(80rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/

		.icon-guanbi {
			position: absolute;
			top: 30rpx;
			right: 30rpx;
			font-size: 24rpx;
			font-weight: bold;
			color: #999;
			padding: 10rpx;
		}

		.mp-data {
			display: flex;
			align-items: center;
			margin-bottom: 30rpx;

			.mp-name {
				font-size: 28rpx;
				font-weight: bold;
				color: #000000;
			}

			image {
				width: 48rpx;
				height: 48rpx;
				border-radius: 50%;
				margin-right: 16rpx;
			}
		}

		.trip-msg {
			padding-bottom: 32rpx;
			border-bottom: 1px solid #F5F5F5;

			.title {
				font-size: 30rpx;
				font-weight: bold;
				color: #000;
				margin-bottom: 6rpx;
			}

			.trip {
				font-size: 26rpx;
				color: #777777;
			}
		}

		.edit {
			border-bottom: 1px solid #F5F5F5;

			.avatar {
				border-bottom: 1px solid #F5F5F5;
			}

			.nickname {
				.input {
					width: 100%;

				}

				input {
					height: 80rpx;
				}
			}

			.edit-box {
				display: flex;
				justify-content: space-between;
				align-items: center;
				font-size: 30rpx;
				padding: 22rpx 0;

				.left {
					display: flex;
					align-items: center;
					flex: 1;

					.head {
						color: rgba(0, 0, 0, 0.9);
						white-space: nowrap;
						margin-right: 60rpx;
					}

					button {
						display: flex;
						align-items: center;
						justify-content: center;
						width: 84rpx;
						height: 84rpx;
						border-radius: 6rpx;
						margin: unset;
						padding: unset;
						border: unset;
					}
				}

				image {
					width: 80rpx;
					height: 80rpx;
					border-radius: 6rpx;
				}
			}

			.icon-xiangyou {
				color: #cfcfcf;
			}
		}

		.bottom {
			display: flex;
			align-items: center;
			justify-content: center;

			.save {
				border: 1px solid #F5F5F5;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 368rpx;
				height: 80rpx;
				border-radius: 12rpx;
				margin-top: 52rpx;
				background-color: #F5F5F5;
				color: #ccc;
				font-size: 30rpx;
				font-weight: bold;
			}

			.save.open {
				border: 1px solid #fff;
				background-color: #07C160;
				color: #fff;
			}
		}
	}
	.avatar-box {
		display: flex;
		align-items: center;
	
		image {
			width: 30rpx;
			height: 30rpx;
			border-radius: 50%;
		}
	}
</style>
